Scan, fold support options hash with "eager" flag
Use iteration instead of recursion in fromArray
simplify test case for holdWhen