If you use "typename FEShape = libMesh::Real" here then you wouldn't have to change so much other code right away.