added bind to semimonad
more work fleshing out Hask.Key