def details_section
    lazy_var :@details_section do
      # No details if we have nothing to work with
      if details.nil?
        nil
      else
        contents = case details
        when Proc
          details.call.to_s
        when String
          details
        else
          details.to_s
        end
        
        if contents.empty?
          nil
        else
          if @binding
            contents = binding.n_x.erb contents
          end
          
          "# Details\n\n" + contents
        end
      end
    end
  end
def details_section
    lazy_var :@details_section do
      # No details if we have nothing to work with
      if details.nil?
        nil
      else
        contents = case details
        when Proc
          details.call.to_s
        when String
          details
        else
          details.to_s
        end
        
        if contents.empty?
          nil
        else
          if @binding
            contents = binding.n_x.erb contents
          end
          
          "# Details\n\n" + contents
        end
      end
    end
  end
Render details (first time only, then cached) and return the string.

 @return [String?]