monadic prototype, skeleton