Which is the preferred syntax? Are these equivalent? Can anything else besides "typename" or "class" be used?