Add factory for tag-based construction.
C++14ify type traits.