added initial support for array types and functions.