adding two exercises from recursive types