Starting some work on custom option types