Updated triple to be an aggregate, by removing the constructors, and add a make_triple type deduction function