Error types for ICL runtime
All fallible operations return Result<T, Error>. Error types provide context for diagnosis.
Result<T, Error>