experiments with monadic types