Add type inference. Add optional.