This forwarding step delivers a state entity of type T
when the call is performed on an lvalue of the call wrapper type and
as cvT&& otherwise,
where cv represents the cv-qualifiers of the call wrapper and
where cv shall be neither volatile nor constvolatile.
A call pattern defines the semantics of invoking
a perfect forwarding call wrapper.
A postfix call performed on a perfect forwarding call wrapper is
expression-equivalent ([defns.expression-equivalent]) to
an expression e determined from its call pattern cp
by replacing all occurrences
of the arguments of the call wrapper and its state entities
with references as described in the corresponding forwarding steps.
A simple call wrapper is a perfect forwarding call wrapper that meets
the Cpp17CopyConstructible and Cpp17CopyAssignable requirements
and whose copy constructor, move constructor, and assignment operators
are constexpr functions that do not throw exceptions.
This implies that each of the copy/move constructors has
the same exception-specification as
the corresponding implicit definition and is declared as constexpr
if the corresponding implicit definition would be considered to be constexpr.