add documentation and and_return raises error if block is sent with wrong arity