use moose type constraints in Rx (proof of concept)