sub functional_FY { return @_ < 2 ? @_ : ( splice( @_, rand @_, 1 ), &functional_FY ); }