Fix build for base <= 4.6 by using typeOf instead of typeRep
Move some SNS specific code from Policy.Internal to Policy.