I know this probably pretty much comes to personal preference, but what do you if this section was written like this:
```ruby
if (layout = controller.send(proc)).nil?
  call(controller_class)
elsif !layout.is_a?(String) && layout
  raise ArgumentError, "Your layout method :#{proc} returned #{layout}. It " \
  "should have returned a String, false, or nil"
else
  layout
end
```