When passing an expression to the $sum function, the error "Argument 1 of function "$sum" must be an array of "number" is returned. This also occurs for the $average function, but works fine when using the $min and $max functions.
Example using jsonata4java version 2.4.9
$sum( $map( [ "1", "2" ], $number) )
Expected result: 3
Actual result: Error: Argument 1 of function "$sum" must be an array of "number
Result using Javascript version 2.0.5: 3
Other examples using jsonata4java version 2.4.9
$average( $map( [ "1", "2" ], $number) ) /* Returns: Argument 1 of function "$sum" must be an array of "number */
$min( $map( [ "1", "2" ], $number) ) /* Returns: 1*/
$max( $map( [ "1", "2" ], $number) ) /* Returns: 2 */
Other examples using javascript version 2.0.5
$average( $map( [ "1", "2" ], $number) ) /* Returns: 1.5 */
$min( $map( [ "1", "2" ], $number) ) /* Returns: 1*/
$max( $map( [ "1", "2" ], $number) ) /* Returns: 2 */