use boost version of typeof()