-;; Copyright (c) 2014-2015 Andrey Antukh <niwi@niwi.nz>
-;; Copyright (c) 2014-2015 Alejandro Gómez <alejandro@dialelo.com>
+;; Copyright (c) 2014-2016 Andrey Antukh <niwi@niwi.nz>
+;; Copyright (c) 2014-2016 Alejandro Gómez <alejandro@dialelo.com>
 ;; All rights reserved.
 ;;
 ;; Redistribution and use in source and binary forms, with or without

  It is considered internal api.")

(defprotocol Context
  "A marker protocol for identifying the valid context types."
  (-get-level [_] "Get a context priority level."))

(defprotocol Contextual
  "Abstraction that establishes a concrete type as a member of a context.

  "A complement abstraction for Monad that
  supports the notion of addition."
  (-mplus [m mv mv'] "An associative addition operation."))
