add a type constraint for consistency with Exponentiable