using immutable vectors instead of arrays for return types :lock: