Class Period<P extends Period<P>>