Added Free monad. Added bimap