Converted the bluebird definitions to generics

These were pending in a branch, but they are good for 0.9.7 and have some user request for it so it is time to move them to main. 

Note these will kill older TS compilers, see & closes #1563