I haven't looked into it too much, but I get a signal (can't remember if it was a segfault) when I try to let a module implicitly convert say T0 = Chemist::braket::BraKet(aos, t_e, aos) into T1 = Chemist::braket::BraKet(aos, op_base_type, aos) when calling a module satisfying the PT EvaluateBraKet<T1>. I think it's from PluginPlay taking a reference to the implicitly created T1 object. AFAIK BraKet is working correctly, the problem is in PluginPlay