Liquid does not print object.field property

I believe this is syntactically correct:

{% comment %}
  pseudocode:
  for line_item in order.line_items:
    if line_item.sku exists:
        products_and_quantities = split line_item.sku with '+'
        for product_and_quantity in products_and_quantities:
          new_order = split product_and_quantity with 'x'
            quantity = new_order[0]
            product = new_order[1]

            if product.sku exists in products:
              overwrite order: add quantity of product to order_list 

{% endcomment %}

{% for line_item in order.line_items %}
  {% if line_item.sku %}
    {% assign sku = line_item.sku %}
    {% capture products_and_quantities %}
      {{ sku | split: "+" }}
    {% endcapture %}
    {% for product_and_quantity in products_and_quantities %}
      {% capture new_order %}
        {{ product_and_quantity | split: "x" }}
      {% endcapture %}
      {% capture quantity %}
        {{ new_order | first }}
      {% endcapture %}
      {% capture product %}
        {{ new_order | last }}
      {% endcapture %}
    {% endfor %}  
  {% endif %}
{% endfor %}