More shader cleanups

Why do we really need a `Result` there and not just an `Option`? We don't have any errors code returned anyway.