TODO: Custom option types