use separate modules
Typeclass approach to delayed input variales
fixes in cabal file
add contravariant dependency
remove pointer based delayed input