first batch of sigs

To address the issue @fson raised above, I would write:

    (* -> a),Number? -> (* -> a)