# Changing order of Type Parameters (0.6)

**URL:** <https://discourse.julialang.org/t/changing-order-of-type-parameters-0-6/14423>\
**Category:** General Usage\
**Created:** [September 2, 2018, 4:51am UTC](https://discourse.julialang.org/t/changing-order-of-type-parameters-0-6/14423 "2018-09-02T04:51:52Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![rakeshvar](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rakeshvar/32/3613_2.png) [@rakeshvar](https://discourse.julialang.org/u/rakeshvar)\
**Post date:** [September 2, 2018, 4:51am UTC](https://discourse.julialang.org/t/changing-order-of-type-parameters-0-6/14423/1 "2018-09-02T04:51:52Z")

</div>

Why is `B` ok and `BB` not? How do I get `BB` to work?

```julia
abstract type AbsA{F<:AbstractFloat} end
struct A{F} <: AbsA{F} 
    data::F
end
a = A(9.) # OK

abstract type AbsB{F<:AbstractFloat} end
struct B{F, TA<:AbsA{F}} <: AbsB{F}
    x::TA
    y::F
end
b = B(A(9.), 1.) # OK

struct BB{TA<:AbsA{F}, F} <: AbsB{F} 
    x::TA
    y::F
end
# Throws error UndefVarError: F not defined

```

---

<div class="post-metadata">

**Author:** ![gpapo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gpapo/32/1857_2.png) [@gpapo](https://discourse.julialang.org/u/gpapo)\
**Post date:** [September 2, 2018, 10:55am UTC](https://discourse.julialang.org/t/changing-order-of-type-parameters-0-6/14423/2 "2018-09-02T10:55:36Z")

</div>

```julia
julia> struct BB{F, TA<:AbsA{F}} <: AbsB{F} 
           x::TA
           y::F
       end

```
