Using ->* for function bind rather than >>=.
Revisited InputPack code, using proper types now.