Replaced Limited with Complete. Moved Lim into a class associated type.

Had to replace Lim in Post with LimC to break the cycle due to ghc trac
ticket #9200: https://ghc.haskell.org/trac/ghc/ticket/9200